chore: update PraisonAI version to 2.2.21 across Dockerfiles and docu…#556
chore: update PraisonAI version to 2.2.21 across Dockerfiles and docu…#556MervinPraison merged 1 commit intomainfrom
Conversation
…mentation - Updated the version of PraisonAI from 2.2.20 to 2.2.21 in all relevant Dockerfiles. - Adjusted README and local development documentation to reflect the new version. - Ensured consistency in versioning across all instances where PraisonAI is referenced.
✅ Deploy Preview for praisonai ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Caution Review failedThe pull request is closed. WalkthroughThis change updates the minimum required version of the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Dockerfile
participant pip
participant PraisonAI
User->>Dockerfile: Build image
Dockerfile->>pip: Install praisonai==2.2.21
pip->>PraisonAI: Download and install package
PraisonAI-->>Dockerfile: Installation complete
Dockerfile-->>User: Image ready with praisonai 2.2.21
sequenceDiagram
participant Code
participant AsyncWebCrawler
participant AsyncAsyncWebCrawler
Code->>AsyncWebCrawler: (Old) Instantiate and run
Code->>AsyncAsyncWebCrawler: (New) Instantiate and run
Possibly related PRs
Suggested labels
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (19)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Hello @MervinPraison, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
Hello team,
Gemini or gemini-code-assist here to provide a summary of this pull request. This PR primarily focuses on updating the version of the praisonai package used throughout the project's configuration and documentation. The version is being bumped from 2.2.20 to 2.2.21. This involves updating various Dockerfiles, READMEs, documentation files, and project configuration files (pyproject.toml, uv.lock). Additionally, there are some changes in documentation and code examples related to the crawl4ai library, specifically renaming WebCrawler to AsyncWebCrawler and potentially AsyncWebCrawler to AsyncAsyncWebCrawler in some UI components.
Highlights
- PraisonAI Version Update: The core change is updating the required version of the
praisonaipackage from2.2.20to2.2.21across all relevant project files. - Dockerfile Updates: All main Dockerfiles (
Dockerfile,Dockerfile.chat,Dockerfile.dev,Dockerfile.ui) have been updated to installpraisonai>=2.2.21. - Documentation Sync: Documentation files (README, local development guide, API deploy guide, UI chat/code guides) have been updated to reflect the new
2.2.21version, both for minimum requirements and pinned examples. - Crawl4AI Class Renaming: Several documentation files and code examples related to web crawling have been updated to use
AsyncWebCrawlerinstead ofWebCrawler. Note: Some UI files appear to changeAsyncWebCrawlertoAsyncAsyncWebCrawler. - Project Configuration Update: The
pyproject.tomlanduv.lockfiles have been updated to specify the project's version and thepraisonaidependency version as2.2.21. - Homebrew Formula Update: The Homebrew formula for PraisonAI has been updated to point to the
v2.2.21tag and calculate the corresponding SHA256 hash.
Changelog
Click here to see the changelog
- docker/Dockerfile
- Updated
praisonaidependency version constraint from>=2.2.20to>=2.2.21.
- Updated
- docker/Dockerfile.chat
- Updated
praisonaidependency version constraint from>=2.2.20to>=2.2.21.
- Updated
- docker/Dockerfile.dev
- Updated
praisonaidependency version constraint from>=2.2.20to>=2.2.21.
- Updated
- docker/Dockerfile.ui
- Updated
praisonaidependency version constraint from>=2.2.20to>=2.2.21.
- Updated
- docker/README.md
- Updated the listed minimum PraisonAI version from
>=2.2.20to>=2.2.21. - Updated the example version pinning command from
==2.2.20to==2.2.21.
- Updated the listed minimum PraisonAI version from
- docs/api/praisonai/deploy.html
- Updated the pinned
praisonaiversion in the example Dockerfile content from==2.2.20to==2.2.21.
- Updated the pinned
- docs/developers/local-development.mdx
- Updated the pinned
praisonaiversion in the example Dockerfile content from==2.2.20to==2.2.21.
- Updated the pinned
- docs/tools/crawl4ai.mdx
- Changed import of
WebCrawlertoAsyncWebCrawler. - Changed instantiation of
WebCrawler()toAsyncWebCrawler().
- Changed import of
- docs/tools/spider_tools.mdx
- Changed the
nameattribute of the example Agent fromWebCrawlertoAsyncWebCrawler.
- Changed the
- docs/ui/chat.mdx
- Updated the pinned
praisonaiversion in the example Dockerfile content from==2.2.20to==2.2.21.
- Updated the pinned
- docs/ui/code.mdx
- Updated the pinned
praisonaiversion in the example Dockerfile content from==2.2.20to==2.2.21.
- Updated the pinned
- examples/cookbooks/yaml/model_fee_retreival_agents.ipynb
- Changed import of
WebCrawlertoAsyncWebCrawler. - Changed instantiation of
WebCrawler()toAsyncWebCrawler(). - Updated log messages to refer to
AsyncWebCrawlerinstead ofWebCrawler.
- Changed import of
- src/praisonai/praisonai.rb
- Updated the download URL for the Homebrew formula to use the
v2.2.21tag. - Updated the SHA256 hash calculation to use the
v2.2.21tag.
- Updated the download URL for the Homebrew formula to use the
- src/praisonai/praisonai/deploy.py
- Updated the pinned
praisonaiversion written into the generated Dockerfile content from==2.2.20to==2.2.21.
- Updated the pinned
- src/praisonai/praisonai/ui/chat.py
- Changed import of
AsyncWebCrawlertoAsyncAsyncWebCrawler. - Changed instantiation of
AsyncWebCrawler()toAsyncAsyncWebCrawler().
- Changed import of
- src/praisonai/praisonai/ui/code.py
- Changed import of
AsyncWebCrawlertoAsyncAsyncWebCrawler. - Changed instantiation of
AsyncWebCrawler()toAsyncAsyncWebCrawler().
- Changed import of
- src/praisonai/praisonai/ui/components/aicoder.py
- Changed import of
AsyncWebCrawlertoAsyncAsyncWebCrawler. - Changed instantiation of
AsyncWebCrawler()toAsyncAsyncWebCrawler().
- Changed import of
- src/praisonai/praisonai/ui/realtimeclient/tools.py
- Changed import of
WebCrawlertoAsyncWebCrawler. - Changed instantiation of
WebCrawler()toAsyncWebCrawler()inprocess_tavily_results. - Changed instantiation of
WebCrawler()toAsyncWebCrawler()infallback_to_duckduckgo.
- Changed import of
- src/praisonai/pyproject.toml
- Updated the project version from
2.2.20to2.2.21. - Updated the
tool.poetryversion from2.2.20to2.2.21.
- Updated the project version from
- src/praisonai/uv.lock
- Updated the locked version of the
praisonaipackage from2.2.20to2.2.21.
- Updated the locked version of the
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Version bumps arrive,
Code and docs must now align,
Sync is the key.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request successfully updates the PraisonAI version to 2.2.21 across various Dockerfiles and documentation, ensuring consistency. The changes are mostly straightforward version bumps.
However, a critical issue has been identified in several Python files where AsyncAsyncWebCrawler is imported and used. This appears to be a typo and should likely be AsyncWebCrawler from the crawl4ai library. This typo will lead to import errors and runtime failures in the affected UI components.
Summary of Findings
- Potential Typo in Class Name: The class
AsyncAsyncWebCrawleris imported and used insrc/praisonai/praisonai/ui/chat.py,src/praisonai/praisonai/ui/code.py, andsrc/praisonai/praisonai/ui/components/aicoder.py. This is likely a typo and should beAsyncWebCrawler. This will causeImportErrorandNameErrorat runtime. - Versioning Consistency: The PraisonAI version has been consistently updated to 2.2.21 across Dockerfiles, documentation, and project configuration files. This is well done.
- Documentation Updates: Documentation files (READMEs, HTML, MDX) have been updated to reflect the new version and changes in
crawl4aiusage (e.g.,WebCrawlertoAsyncWebCrawler). This ensures documentation stays aligned with the codebase.
Merge Readiness
The pull request primarily focuses on updating the PraisonAI version, and these changes are largely consistent and correct. However, there is a critical issue with a potential typo (AsyncAsyncWebCrawler instead of AsyncWebCrawler) in several Python files. This typo will lead to runtime errors and must be addressed before merging.
I recommend that the identified critical issues be fixed. After these changes, the PR should be in a much better state for merging. As an AI, I am not authorized to approve pull requests; please ensure other reviewers approve this code before merging.
| from PIL import Image | ||
| from tavily import TavilyClient | ||
| from crawl4ai import AsyncWebCrawler | ||
| from crawl4ai import AsyncAsyncWebCrawler |
There was a problem hiding this comment.
It seems there might be a typo in the imported class name. AsyncAsyncWebCrawler is likely intended to be AsyncWebCrawler. Could you please verify the correct class name from the crawl4ai library? If this is a typo, it will cause an ImportError at runtime.
| from crawl4ai import AsyncAsyncWebCrawler | |
| from crawl4ai import AsyncWebCrawler |
| logger.debug(f"Tavily search response: {response}") | ||
|
|
||
| async with AsyncWebCrawler() as crawler: | ||
| async with AsyncAsyncWebCrawler() as crawler: |
There was a problem hiding this comment.
Similar to the import, this instantiation of AsyncAsyncWebCrawler appears to be a typo. If the class is indeed AsyncWebCrawler, this line will need to be corrected to avoid a NameError at runtime.
| async with AsyncAsyncWebCrawler() as crawler: | |
| async with AsyncWebCrawler() as crawler: |
| from context import ContextGatherer | ||
| from tavily import TavilyClient | ||
| from crawl4ai import AsyncWebCrawler | ||
| from crawl4ai import AsyncAsyncWebCrawler |
There was a problem hiding this comment.
There appears to be a typo in the imported class name here as well. AsyncAsyncWebCrawler should likely be AsyncWebCrawler. Please check the crawl4ai library for the correct class name to prevent ImportError.
| from crawl4ai import AsyncAsyncWebCrawler | |
| from crawl4ai import AsyncWebCrawler |
| # Create an instance of AsyncWebCrawler | ||
| async with AsyncWebCrawler() as crawler: | ||
| # Create an instance of AsyncAsyncWebCrawler | ||
| async with AsyncAsyncWebCrawler() as crawler: |
There was a problem hiding this comment.
| import dotenv | ||
| from tavily import TavilyClient | ||
| from crawl4ai import AsyncWebCrawler | ||
| from crawl4ai import AsyncAsyncWebCrawler |
There was a problem hiding this comment.
| response = self.tavily_client.search(query) | ||
| results = [] | ||
| async with AsyncWebCrawler() as crawler: | ||
| async with AsyncAsyncWebCrawler() as crawler: |
There was a problem hiding this comment.
chore: update PraisonAI version to 2.2.21 across Dockerfiles and docu…
…mentation
Summary by CodeRabbit
WebCrawlerandAsyncWebCrawlerwithAsyncAsyncWebCrawlerin several components to ensure correct web crawling behavior.